package com.lanou3g.code0413.stream;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by dllo on 18/4/13.
 */

/*
*
*读 文本 图片 视频 音频
* */
public class Test03 {
    public static void main(String[] args) {
        File file = new File("out.txt");
        FileInputStream fis = null;
        try {
            fis = new FileInputStream(file);
            //创建一个数组,从文件中读取的内容,就放在这个数组中,数组大小没有任何要求,通常都是1024(1KB) 或者10*1024(10KB)
            byte[] buf = new byte[3];
            int num = 0;
            StringBuilder sb = new StringBuilder();  // 专门负责拼文本
           // fis.read(buf);只读到了1024个字节,还没读完
            while ((num = fis.read(buf)) != -1){  //不知道要读多少次
                // 把字节类型的转换为字符串
                System.out.println("目的是减肥开始d" + num);

                String sss = new String (buf,0,num);
                System.out.println("当前数据是" + sss);

                String data = new String(buf,0,num);  //从字节数组生成一个字符串
                sb.append(data);
            }

            //拿到最后的数据
            String result = sb.toString();
           // System.out.println(result);

            //处理result

            List<User> users = getUsers(result);

        } catch (Exception e) {  //改成 Exception
            e.printStackTrace();
        }finally {
            if (fis != null){
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }




    }

    private static List<User> getUsers(String data){
        List<User> user = new ArrayList<>();
        String[] userInfos = data.split(";");
        for (String userInfo : userInfos) {
            String[] info = userInfo.split(":");

            if (info.length == 2){  //去除空格
                User use = new User();
                //将名字和密码传到User中 0 1
                //然后存到user中
                use.setPwd(info[1]);
                use.setUsername(info[0]);
                user.add(use);
            }



        }
        return user;
    }
}
